part of '../dio.dart';

/// 处理超时错误
final _interceptorTimeout = InterceptorsWrapper(
  onError: (DioException e, ErrorInterceptorHandler handler) {
    if (e.type == DioExceptionType.connectionTimeout) {
      throw Bug("无法与服务器握手，可能是客户端网络不佳，也可能是服务器宕机");
    } else if (e.type == DioExceptionType.sendTimeout) {
      throw Bug("无法发送完整数据，可能是网络不稳定，或是数据过于庞大");
    } else if (e.type == DioExceptionType.receiveTimeout) {
      throw Bug("无法完整接收服务器数据，可能是服务器处理速度较慢，或者发送的数据过于庞大");
    } else {
      // 无论如何，继续传播错误
      return handler.next(e);
    }
  },
);
